﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace ArduinoGenericOrientationSensor.Sensors
{
    /// <summary>
    /// Интерфейс для работы с датчиками ориентации.
    /// </summary>
    public interface ISensorBase
    {
        /// <summary>
        /// Возвращает кватернион вращения датчика относительно севера и вертикальной оси (угол отклонения от оси север-юг в плоскости XY и наклон по оси Z).
        /// </summary>
        /// <returns>Кватернион вращения датчика</returns>
        Quaternion GetOrientation();

        /// <summary>
        /// Возвращает название модели датчика.
        /// </summary>
        /// <returns>Название модели.</returns>
        string GetName();

        /// <summary>
        /// Получает аналоговое значение и обрабатывает его на основе данных спецификации датчика.
        /// </summary>
        /// <param name="value">Аналоговое значение на аналоговом выходе платформы.</param>
        void SetAnalogData(int value);
    }
}
